package com.pushtime.service.dto.yeoman;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import java.util.List;
import java.util.Map;

@JsonIgnoreProperties(ignoreUnknown = true)
public class GeneratorJhipster {
    private Map<String, String> promptValues;
    private String jhipsterVersion;
    private String applicationType;
    private String baseName;
    private String packageName;
    private String packageFolder;
    private String serverPort;
    private String authenticationType;
    private String uaaBaseName;
    private String cacheProvider;
    private Boolean enableHibernateCache;
    private String websocket;
    private String databaseType;
    private String devDatabaseType;
    private String prodDatabaseType;
    private Boolean searchEngine;
    private Boolean messageBroker;
    private String serviceDiscoveryType;
    private String buildTool;
    private Boolean enableSwaggerCodegen;
    private String clientFramework;
    private Boolean useSass;
    private String clientPackageManager;
    private List<String> testFrameworks;
    private String jhiPrefix;
    private Boolean enableTranslation;
    private String nativeLanguage;
    private List<String> languages;

    public Map<String, String> getPromptValues() {
        return promptValues;
    }

    public void setPromptValues(Map<String, String> promptValues) {
        this.promptValues = promptValues;
    }

    public String getJhipsterVersion() {
        return jhipsterVersion;
    }

    public void setJhipsterVersion(String jhipsterVersion) {
        this.jhipsterVersion = jhipsterVersion;
    }

    public String getApplicationType() {
        return applicationType;
    }

    public void setApplicationType(String applicationType) {
        this.applicationType = applicationType;
    }

    public String getBaseName() {
        return baseName;
    }

    public void setBaseName(String baseName) {
        this.baseName = baseName;
    }

    public String getPackageName() {
        return packageName;
    }

    public void setPackageName(String packageName) {
        this.packageName = packageName;
    }

    public String getPackageFolder() {
        return packageFolder;
    }

    public void setPackageFolder(String packageFolder) {
        this.packageFolder = packageFolder;
    }

    public String getServerPort() {
        return serverPort;
    }

    public void setServerPort(String serverPort) {
        this.serverPort = serverPort;
    }

    public String getAuthenticationType() {
        return authenticationType;
    }

    public void setAuthenticationType(String authenticationType) {
        this.authenticationType = authenticationType;
    }

    public String getUaaBaseName() {
        return uaaBaseName;
    }

    public void setUaaBaseName(String uaaBaseName) {
        this.uaaBaseName = uaaBaseName;
    }

    public String getCacheProvider() {
        return cacheProvider;
    }

    public void setCacheProvider(String cacheProvider) {
        this.cacheProvider = cacheProvider;
    }

    public Boolean getEnableHibernateCache() {
        return enableHibernateCache;
    }

    public void setEnableHibernateCache(Boolean enableHibernateCache) {
        this.enableHibernateCache = enableHibernateCache;
    }

    public String getWebsocket() {
        return websocket;
    }

    public void setWebsocket(String websocket) {
        this.websocket = websocket;
    }

    public String getDatabaseType() {
        return databaseType;
    }

    public void setDatabaseType(String databaseType) {
        this.databaseType = databaseType;
    }

    public String getDevDatabaseType() {
        return devDatabaseType;
    }

    public void setDevDatabaseType(String devDatabaseType) {
        this.devDatabaseType = devDatabaseType;
    }

    public String getProdDatabaseType() {
        return prodDatabaseType;
    }

    public void setProdDatabaseType(String prodDatabaseType) {
        this.prodDatabaseType = prodDatabaseType;
    }

    public Boolean getSearchEngine() {
        return searchEngine;
    }

    public void setSearchEngine(Boolean searchEngine) {
        this.searchEngine = searchEngine;
    }

    public Boolean getMessageBroker() {
        return messageBroker;
    }

    public void setMessageBroker(Boolean messageBroker) {
        this.messageBroker = messageBroker;
    }

    public String getServiceDiscoveryType() {
        return serviceDiscoveryType;
    }

    public void setServiceDiscoveryType(String serviceDiscoveryType) {
        this.serviceDiscoveryType = serviceDiscoveryType;
    }

    public String getBuildTool() {
        return buildTool;
    }

    public void setBuildTool(String buildTool) {
        this.buildTool = buildTool;
    }

    public Boolean getEnableSwaggerCodegen() {
        return enableSwaggerCodegen;
    }

    public void setEnableSwaggerCodegen(Boolean enableSwaggerCodegen) {
        this.enableSwaggerCodegen = enableSwaggerCodegen;
    }

    public String getClientFramework() {
        return clientFramework;
    }

    public void setClientFramework(String clientFramework) {
        this.clientFramework = clientFramework;
    }

    public Boolean getUseSass() {
        return useSass;
    }

    public void setUseSass(Boolean useSass) {
        this.useSass = useSass;
    }

    public String getClientPackageManager() {
        return clientPackageManager;
    }

    public void setClientPackageManager(String clientPackageManager) {
        this.clientPackageManager = clientPackageManager;
    }

    public List<String> getTestFrameworks() {
        return testFrameworks;
    }

    public void setTestFrameworks(List<String> testFrameworks) {
        this.testFrameworks = testFrameworks;
    }

    public String getJhiPrefix() {
        return jhiPrefix;
    }

    public void setJhiPrefix(String jhiPrefix) {
        this.jhiPrefix = jhiPrefix;
    }

    public Boolean getEnableTranslation() {
        return enableTranslation;
    }

    public void setEnableTranslation(Boolean enableTranslation) {
        this.enableTranslation = enableTranslation;
    }

    public String getNativeLanguage() {
        return nativeLanguage;
    }

    public void setNativeLanguage(String nativeLanguage) {
        this.nativeLanguage = nativeLanguage;
    }

    public List<String> getLanguages() {
        return languages;
    }

    public void setLanguages(List<String> languages) {
        this.languages = languages;
    }

    @Override
    public String toString() {
        return "GeneratorJhipster{" +
                "promptValues=" + promptValues +
                ", jhipsterVersion='" + jhipsterVersion + '\'' +
                ", applicationType='" + applicationType + '\'' +
                ", baseName='" + baseName + '\'' +
                ", packageName='" + packageName + '\'' +
                ", packageFolder='" + packageFolder + '\'' +
                ", serverPort='" + serverPort + '\'' +
                ", authenticationType='" + authenticationType + '\'' +
                ", uaaBaseName='" + uaaBaseName + '\'' +
                ", cacheProvider='" + cacheProvider + '\'' +
                ", enableHibernateCache=" + enableHibernateCache +
                ", websocket='" + websocket + '\'' +
                ", databaseType='" + databaseType + '\'' +
                ", devDatabaseType='" + devDatabaseType + '\'' +
                ", prodDatabaseType='" + prodDatabaseType + '\'' +
                ", searchEngine=" + searchEngine +
                ", messageBroker=" + messageBroker +
                ", serviceDiscoveryType='" + serviceDiscoveryType + '\'' +
                ", buildTool='" + buildTool + '\'' +
                ", enableSwaggerCodegen=" + enableSwaggerCodegen +
                ", clientFramework='" + clientFramework + '\'' +
                ", useSass=" + useSass +
                ", clientPackageManager='" + clientPackageManager + '\'' +
                ", testFrameworks=" + testFrameworks +
                ", jhiPrefix='" + jhiPrefix + '\'' +
                ", enableTranslation=" + enableTranslation +
                ", nativeLanguage='" + nativeLanguage + '\'' +
                ", languages=" + languages +
                '}';
    }
}
